home *** CD-ROM | disk | FTP | other *** search
- unit TestComp;
-
- interface
-
- uses
- Classes;
-
- type
- TTestRange = 0..2;
-
- const
- trZero = TTestRange(0);
- trOne = TTestRange(1);
- trTwo = TTestRange(2);
-
- type
- TTestComponent = class(TComponent)
- private
- FTest: TTestRange;
- published
- property Test: TTestRange read FTest write FTest default trZero;
- end;
-
- function IdentToTestValue(const Ident: String; var TestValue: Integer): Boolean;
- function TestValueToIdent(TestValue: Integer; var Ident: String): Boolean;
- procedure GetTestRangeValues(Proc: TGetStrProc);
-
- implementation
-
- const
- TestValues: array[TTestRange] of TIdentMapEntry = (
- (Value: trZero; Name: 'trZero'),
- (Value: trOne; Name: 'trOne'),
- (Value: trTwo; Name: 'trTwo'));
-
- function IdentToTestValue(const Ident: String; var TestValue: Integer): Boolean;
- begin
- Result := IdentToInt(Ident, TestValue, TestValues);
- end;
-
- function TestValueToIdent(TestValue: Integer; var Ident: String): Boolean;
- begin
- Result := IntToIdent(TestValue, Ident, TestValues);
- end;
-
- procedure GetTestRangeValues(Proc: TGetStrProc);
- var
- I: Integer;
- begin
- for I := Low(TestValues) to High(TestValues) do
- Proc(TestValues[I].Name);
- end;
-
- initialization
- RegisterIntegerConsts(TypeInfo(TTestRange), IdentToTestValue, TestValueToIdent)
- end.
-